home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / complib / zupmtr.z / zupmtr
Text File  |  1998-10-30  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. ZZZZUUUUPPPPMMMMTTTTRRRR((((3333FFFF))))                                                          ZZZZUUUUPPPPMMMMTTTTRRRR((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ZUPMTR - overwrite the general complex M-by-N matrix C with   SIDE = 'L'
  10.      SIDE = 'R' TRANS = 'N'
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE ZUPMTR( SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK, INFO )
  14.  
  15.          CHARACTER      SIDE, TRANS, UPLO
  16.  
  17.          INTEGER        INFO, LDC, M, N
  18.  
  19.          COMPLEX*16     AP( * ), C( LDC, * ), TAU( * ), WORK( * )
  20.  
  21. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  22.      ZUPMTR overwrites the general complex M-by-N matrix C with TRANS = 'C':
  23.      Q**H * C       C * Q**H
  24.  
  25.      where Q is a complex unitary matrix of order nq, with nq = m if SIDE =
  26.      'L' and nq = n if SIDE = 'R'. Q is defined as the product of nq-1
  27.      elementary reflectors, as returned by ZHPTRD using packed storage:
  28.  
  29.      if UPLO = 'U', Q = H(nq-1) . . . H(2) H(1);
  30.  
  31.      if UPLO = 'L', Q = H(1) H(2) . . . H(nq-1).
  32.  
  33.  
  34. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  35.      SIDE    (input) CHARACTER*1
  36.              = 'L': apply Q or Q**H from the Left;
  37.              = 'R': apply Q or Q**H from the Right.
  38.  
  39.      UPLO    (input) CHARACTER*1
  40.              = 'U': Upper triangular packed storage used in previous call to
  41.              ZHPTRD; = 'L': Lower triangular packed storage used in previous
  42.              call to ZHPTRD.
  43.  
  44.      TRANS   (input) CHARACTER*1
  45.              = 'N':  No transpose, apply Q;
  46.              = 'C':  Conjugate transpose, apply Q**H.
  47.  
  48.      M       (input) INTEGER
  49.              The number of rows of the matrix C. M >= 0.
  50.  
  51.      N       (input) INTEGER
  52.              The number of columns of the matrix C. N >= 0.
  53.  
  54.      AP      (input) COMPLEX*16 array, dimension
  55.              (M*(M+1)/2) if SIDE = 'L' (N*(N+1)/2) if SIDE = 'R' The vectors
  56.              which define the elementary reflectors, as returned by ZHPTRD.
  57.              AP is modified by the routine but restored on exit.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ZZZZUUUUPPPPMMMMTTTTRRRR((((3333FFFF))))                                                          ZZZZUUUUPPPPMMMMTTTTRRRR((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      TAU     (input) COMPLEX*16 array, dimension (M-1) if SIDE = 'L'
  75.              or (N-1) if SIDE = 'R' TAU(i) must contain the scalar factor of
  76.              the elementary reflector H(i), as returned by ZHPTRD.
  77.  
  78.      C       (input/output) COMPLEX*16 array, dimension (LDC,N)
  79.              On entry, the M-by-N matrix C.  On exit, C is overwritten by Q*C
  80.              or Q**H*C or C*Q**H or C*Q.
  81.  
  82.      LDC     (input) INTEGER
  83.              The leading dimension of the array C. LDC >= max(1,M).
  84.  
  85.      WORK    (workspace) COMPLEX*16 array, dimension
  86.              (N) if SIDE = 'L' (M) if SIDE = 'R'
  87.  
  88.      INFO    (output) INTEGER
  89.              = 0:  successful exit
  90.              < 0:  if INFO = -i, the i-th argument had an illegal value
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.